VP8

VP8 is a royalty-free video codec developed by On2 Technologies and open-sourced by Google in 2010 as part of the WebM project. Like H.264, VP8 uses block-based motion compensation and Discrete Cosine Transform (DCT) encoding. The reference implementation is libvpx, maintained by the Alliance for Open Media.

At similar bitrates, VP8 delivers quality roughly on par with H.264 Constrained Baseline Profile. That equivalence is what made it a credible royalty-free alternative during WebRTC's codec standardization debate.

VP8 was the first mandatory-to-implement (MTI) video codec defined for WebRTC.

VP8's Role in WebRTC

VP8 played a crucial role in WebRTC's early adoption:

  • Royalty-free: Unlike H.264, VP8 has no patent licensing costs, enabling open WebRTC implementations
  • Universal browser support: All WebRTC-capable browsers support VP8 without exception
  • Guaranteed baseline compatibility: Any two WebRTC endpoints can always negotiate VP8, making it the universal codec fallback

How VP8 Works

VP8 divides each video frame into 16x16 pixel macroblocks and uses two prediction stages to reduce redundancy:

  • Intra-prediction predicts each block from neighboring blocks within the same frame, removing spatial redundancy.
  • Inter-prediction predicts each block from blocks in a reference frame (previous frame), using motion vectors to track how content moved. This removes temporal redundancy across frames.

The prediction residual is then transformed with DCT, quantized, and compressed using an arithmetic entropy coder. VP8 uses a single profile with no licensing tiers - every encoder and decoder implements the same feature set, which simplifies compatibility.

Hardware support is broad on desktop and recent mobile hardware, but less universal than H.264 - some older Android devices and IoT hardware lack VP8 hardware decode.

VP8 vs Modern Codecs

While VP8 remains universally supported, newer codecs offer better efficiency:

  • VP9: ~30-50% better compression, supports SVC
  • AV1: ~30% better than VP9, also supports SVC, royalty-free
  • H.264: Similar quality to VP8 but with broader hardware acceleration, especially on mobile

VP8 is still commonly used as a fallback codec and in scenarios where maximum compatibility across all devices matters more than compression efficiency.

Additional Reading

Tsahi Levent-Levi

Tsahi Levent-Levi

Independent WebRTC analyst. 20+ years in telecom, 13 focused on WebRTC. Writes for developers and product teams who need to understand, not just implement, real-time communications.